Selection and configuration of storage-area network storage device and computing device

ABSTRACT

A chassis is selected from one or more chassis. Each chassis has one or more computing devices installed therein. A computing device is selected from the computing devices installed in the selected chassis. Each computing device is connected to one or more switches within the chassis. A switch is selected from the switches to which the selected computing device is connected. Each switch is connected to a storage-area network (SAN) encompassing one or more SAN storage devices. A SAN storage device is selected from the SAN storage devices connected to the selected switch. Network settings for the selected SAN storage device and/or the selected computing device are configured. The selected SAN storage device is configured for use by the selected computing device. An operating system (OS) instance is selected and deployed onto the selected SAN storage device for use by the selected computing device.

FIELD OF THE INVENTION

The present invention relates generally to storage-area network (SAN) storage devices, and more particularly to configuring such SAN storage devices so that they can be used in relation to computing devices, such as blade computing devices.

BACKGROUND OF THE INVENTION

In large organizations, the management of computing devices is an important task. To make such management more convenient to information technology (IT) personnel, and thus less costly, one relatively new paradigm is the “blade” computing device. A given chassis has inserted thereinto a number of blade computing devices. Each blade computing device may then be assigned to an individual end user remotely located from the blade computing device, or a number of users may have their own virtualized computing devices shared on the same one or more blade computing devices.

Due to their size, however, blade computing devices typically have no internal storage devices or a very limited number or size of internal storage devices, such as hard disk drives. Rather, they are commonly assigned at least a portion of a storage device that is communicatively connected to all the blade computing devices. One relatively common approach is to have a storage-area network (SAN) that includes a number of SAN storage devices. A logical disk may be defined on one or more of these SAN storage devices for utilization by a given blade computing device. For example, such a logical disk may store the operating system (OS) instance that controls the blade computing device.

In such computing device topologies, where there are a relatively large number of computing devices and a relatively large number of SAN storage devices, configuration of one particular computing device to use a logical disk defined on one or more of the SAN storage devices can be complicated. A large number of settings and parameters may have to be configured properly for a given computing device to be able to use a given SAN storage device. If any of these settings or parameters is not configured properly, the computing device may not be able to function in relation to the SAN storage device. For this and other reasons, there is a need for the present invention.

SUMMARY OF THE INVENTION

The present invention relates to selection and configuration of a storage-area network (SAN) storage device and a related computing device. A method of one embodiment of the invention includes selecting a chassis from one or more chassis. Each chassis has one or more computing devices installed therein. A computing device is selected from the computing devices installed in the selected chassis. Each computing device is connected to one or more switches within the chassis. A switch is selected from the switches to which the selected computing device is connected. Each switch is connected to a storage-area network (SAN) encompassing one or more SAN storage devices. A SAN storage device is selected from the SAN storage devices connected via a SAN to the selected switch. Network settings for the selected SAN storage device and/or the selected computing device are configured. The selected SAN storage device is configured for use by the selected computing device. An operating system (OS) instance is selected and deployed onto the selected SAN storage device for use by the selected computing device.

A system of an embodiment of the invention includes a chassis, one or more computing devices installed within the chassis, and one or more switches installed within the chassis and connected to each computing device. The system further includes one or more SAN devices connected via a SAN to each switch, and a configuration and management controller. The controller enables a user to select a desired computing device from the computing devices installed within the chassis, to select a desired switch from the switches installed within the chassis, and to select a desired SAN storage device from the SAN storage devices connected to the desired switch. The controller further enables the user to configure the desired SAN storage device for use by the desired computing device, and to select and deploy an OS instance onto the desired SAN storage device for use by the desired computing device.

An article of manufacture of an embodiment of the invention includes a tangible computer-readable medium, and means in the medium. The computer-readable medium may be a recordable data storage medium, or another type of tangible computer-readable medium. The means is for selecting a desired blade computing device installed within a chassis, for selecting a desired switch installed within the chassis, and for selecting a desired SAN storage device connected via a SAN to the desired switch. The means is further for configuring the desired SAN storage device for use by the desired blade computing device, and for selecting and deploying an OS instance onto the desired SAN storage device for use by the desired blade computing device.

BRIEF DESCRIPTION OF THE DRAWINGS

The drawings referenced herein form a part of the specification. Features shown in the drawing are meant as illustrative of only some embodiments of the invention, and not of all embodiments of the invention, unless otherwise explicitly indicated, and implications to the contrary are otherwise not to be made.

FIGS. 1A and 1B are a flowchart of a method and a diagram of a system in relation to which the method can be performed, respectively, according to a general embodiment of the invention, and are suggested for printing on the first page of the patent.

FIG. 2 is a diagram of a system having a chassis in which a number of blade computing devices are installed, and having a number of storage-area networks (SAN's), according to an embodiment of the invention.

FIG. 3 is a diagram of a portion of the system of FIG. 2 in further detail, according to an embodiment of the invention.

FIGS. 4A, 4B, and 4C are flowcharts of a method consistent with but more detailed than the method of FIG. 1A, according to an embodiment of the invention.

FIGS. 5A, 5B, 5C, 5D, 5E, 5F, 5G, 5H, 5I, and 5J are diagrams of graphical user interfaces (GUI's) by which various parts of the method of FIGS. 4A, 4B, and 4C can be performed, according to an embodiment of the invention.

DETAILED DESCRIPTION OF THE DRAWINGS

In the following detailed description of exemplary embodiments of the invention, reference is made to the accompanying drawings that form a part hereof, and in which is shown by way of illustration specific exemplary embodiments in which the invention may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention. Other embodiments may be utilized, and logical, mechanical, and other changes may be made without departing from the spirit or scope of the present invention. The following detailed description is, therefore, not to be taken in a limiting sense, and the scope of the present invention is defined only by the appended claims.

Overview

An overview of an embodiment of the invention is presented in relation to FIGS. 1A and 1B. FIG. 1A shows a method 100, according to an embodiment of the invention, and FIG. 1B shows a representative system 110 in relation to which the method 100 may be performed, according to an embodiment of the invention. A selected storage-area network (SAN) storage device 112 is configured for use by a selected computing device 114 (102). The selected SAN storage device 112 is one of a number of SAN storage devices on a SAN 122 of the system 110, which are not particularly shown in FIG. 1 for illustrative clarity and convenience. Likewise, the selected computing device 114 is one of a number of computing devices, such as blade computing devices, of the system 110, which are not particularly shown in FIG. 1 for illustrative clarity and convenience.

More specifically, the selected computing device 114 is one of a number of such computing devices installed within a chassis 116. The selected computing device 114 is connected to a switch 118 also installed within the chassis 116. The switch 118 is selected from a number of switches installed within the chassis 116, which are not particularly shown in FIG. 1 for illustrative clarity and convenience. The switch 118 communicatively connects the computing device 114 to the SAN storage device 112. Configuration of the SAN storage device 112 and the computing device 114 in part 102 of the method 100 can include configuring network settings, security settings, as well as other types of settings of either or both of the devices 112 and 114.

An operating system (OS) instance 120 is selected and deployed onto the SAN storage device 112 for use by the computing device 114 (104). The OS instance 120 is selected from a number of such OS instances, which are not particularly shown in FIG. 1 for illustrative clarity and convenience. The OS instance 120 is the OS that controls the functioning of the computing device 114. Thus, rather than the OS instance 120 being located at the computing device 114, it is located at the relatively remote SAN storage device 112. This allows the computing device 114 to be substantially managed independently of the SAN storage device 112, in one embodiment of the invention.

Embodiments of the invention are concerned with a programmatic manner by which each of a computing device and a SAN storage device is selected and configured for use with one another, including the selection and deployment of an OS instance on the SAN storage device for use by the computing device. Rather than a user having to manually configure the computing device and the SAN storage device, he or she is stepped through the selection process by a graphical user interface, such that configuration of the devices is automatically achieved. Embodiments by which such programmatic and substantially automatic selection and configuration of these devices can be achieved are now described.

Technical Background

FIG. 2 shows the representative system 110 of FIG. 1B in more detail, according to an embodiment of the invention. A single chassis 116 is depicted in FIG. 2. However, more generally, there may be a number of such chassis, where the chassis 116 is representative of all of these chassis within the system 110.

The chassis 116 includes a number of blade computing devices 202A, 202B, . . . , 202N, collectively referred to as the blade computing devices 202. A blade computing device is a component that is inserted into a blade computing system that itself is designed to accept a number of such blade computing devices. Blade computing devices can be individual server or client computing devices that plug into a single chassis. Thus, a blade computing system is a computing device architecture in which multiple computing devices are housed within a single chassis. In one embodiment, the blade computing devices 202 are diskless, or storage device-less, such that substantial non-volatile data storage is external to the devices 202 themselves.

The chassis 116 also includes a number of switches 204A, 204B, . . . , 204M, collectively referred to as the switches 204. The number of switches 204 may be less than the number of blade computing devices 202. The switches 204 are networking components that enable the blade computing devices to particularly access storage-area networks (SAN's), as will be described. Each of the computing devices 202 is connected to each of the switches 204 in one embodiment of the invention, as is particularly depicted in FIG. 2.

The switches 204 are connected to external storage-area networks (SAN's) 206A, 206B, . . . , 206M, collectively referred to as the SAN's 206. The number of SAN's 206 in one embodiment is equal to the number of switches 204. Each of the switches 204 is connected to one of the SAN's 206 in one embodiment as well. Each of the SAN's 206 includes one or more SAN storage devices, such as hard disk drives. Thus, the SAN's 206 include SAN storage devices 208A, 208B, . . . , 208M, collectively referred to as the SAN storage devices 208.

A SAN is a particular type of network of storage devices, such as hard disk drives. Thus, a SAN connects multiple computing devices to a centralized pool of hard disk drive storage. As compared to having to manage hundreds of computing devices, each with their own hard disk drives, SAN's allow improved manageability. The SAN's may be considered as a single resource, to ease disk maintenance and routine backups.

FIG. 3 shows a portion of the system 110 of FIGS. 1B and 2 in more detail, according to an embodiment of the invention. The system 110 is depicted in FIG. 3 as including the SAN storage device 112, the chassis 116 in which the computing device 114 and the switch 118 are physically installed or situated. As can be appreciated by those of ordinary skill within the art, each of the system 110, the chassis, 116, and the computing device 114 may include other components, in addition to and/or in lieu of those depicted in FIG. 3. For example, the chassis 116 can include a media tray and/or a keyboard-video-mouse (KVM) sharing device, both of which are not shown in FIG. 3 for illustrative convenience. Furthermore, the media tray can include devices such a floppy diskette drive, a DVD/CD drive, and/or one or more universal serial bus (USB) connectors. The media tray and/or KVM can be selectively coupled to the computing device 114.

The SAN storage device 112 is one of the storage devices 208 of FIG. 2. The computing device 114 is one of the blade computing devices 202 of FIG. 2. The switch 118 is one of the switches 204 of FIG. 2. The switch 118 communicatively connects the blade computing device 114 to the SAN storage device 112 via a SAN 306 encompassing the SAN storage device 112. Thus, the SAN 306 is one of the SAN's 206 of FIG. 2.

The system 110 is also depicted in FIG. 3 as including a configuration and management controller 302 and a configuration manager 304. The controller 302 and the manager 304 may be implemented in software, hardware, or a combination of software and hardware. Thus, the controller 302 and the manager 304 may be one or more computer programs running on a computing device other than the computing device 114 and the other of the blade computing devices 202, in one embodiment. Communication, management, configuration, and control of the SAN storage device 112, the chassis 116, and the computing device 114 are depicted in FIG. 3 via a number of lines 326, 328, and 330. The functionality performed as represented by each of these lines is described later in the detailed description. Thus, the functionality of the controller 302 and the manager 304 are described later in the detailed description.

The chassis 116 includes a management module (MM) 308. The management module 308 may be implemented in software, hardware, or a combination of software and hardware. The management module 308 particularly provides for configuration, control, and management of the blade computing devices installed within the chassis 116, such as the computing device 114. The management module 308 interacts directly with a baseboard manager controller (BMC) 310 of the computing device 114. The BMC 310 is hardware and/or software, and directly accesses non-volatile random access memory (NVRAM) 312 of the computing device 114.

The NVRAM 312 contains the settings by which firmware (FW) 316 of the computing device 114 functions. The firmware 316 may in one embodiment be the basic input/output system (BIOS) of the computing device 114. The firmware 316, based on the settings within the NVRAM 312, controls the booting up and the basic interaction between software and hardware on the computing device 114. That is, the firmware 316 may be considered the set of routines that provides an interface between the operating system and the hardware in the computing device 114. The firmware 316 supports all peripheral technologies. On startup, the firmware 316 tests the computing device 114 and prepares it for operation. Thereafter, the firmware 316 loads the operating system and passes control to the operating system.

The firmware 316 includes boot firmware (BF) 322, which specifically controls the booting of the operating system from an associated storage device, such as the SAN storage device 112. The firmware 316 further includes a universal network device interface (UNDI) 324, which enables the firmware 316 to communicate with the network interface controller (NIC) 314. The NIC 314 is a networking device, which enables the computing device 114 to access a network, such as via the switch 118 of the chassis 116.

The computing device 114 also includes volatile random-access memory (RAM) 318. The RAM 318 is the memory in which data is stored on a temporary basis, and to which computer programs are loaded for execution by the computing device 114, as can be appreciated by those of ordinary skill within the art. The RAM 318 stores a boot firmware table (BFT) 320, which is loaded into the RAM 318 by the boot firmware 322 at startup, and includes the settings that direct the computing device 114 to interact with the SAN storage device 112 as if the SAN storage device 112 were part of the computing device 114 itself

Detailed Embodiment

FIGS. 4A, 4B, and 4C show the method 100 of FIG. 1A in a manner that is consistent with but more detailed than FIG. 1A, according to an embodiment of the invention. The method 100 is described in relation to representative performance within the system 100. However, the method 100 may be performed in relation to other types of systems, in addition to the system 100.

The user first selects the chassis 116 from one or more chassis (402). The user may log onto the selected chassis 116 by providing a user identifier and a password that enables the user to have access to the chassis 116. This is indicated in FIG. 3 via the line 328. FIG. 5A shows a graphical user interface (GUI) 502, by which a user is able to select the chassis 116 from one or more chassis, according to an embodiment of the invention. A drop-down box 504 lists all the chassis available. In one embodiment, the configuration and management controller 302 retrieves a list of all the chassis available from a database in order to populate the drop-down box 504. This is achieved without any user intervention. For example, portions of the chassis database can be populated automatically by programmatically scanning the network for chassis using a service location protocol (SLP), as can be appreciated by those of ordinary skill within the art.

Once the user has selected a desired chassis, the IP address and/or the network name are displayed in the boxes 506 and 508. If either of these items is not displayed, the user can select the appropriate buttons 510 and 512 to refresh this information. Information regarding the desired chassis, as stored in the database or programmatically retrieved from management module 308, is displayed in the boxes 514 and 516, including the number of slots that the chassis has, corresponding to the maximum number of blade computing devices that can be installed within the chassis, as well as the name of the management module 308 of the chassis.

The user logs onto the chassis 116 by entering his or her user identifier and password into the boxes 518 and 520. Once the user is satisfied with the selection of the chassis 116, the button 522 is selected. Alternatively, the user can select one of the other buttons 524 to perform desired functionality as is conventional, as can be appreciated by those of ordinary skill within the art.

Referring back to FIG. 4A, the user then selects a computing device 114 installed within the chassis 116 (404). This is indicated in FIG. 3 via the line 328. In particular, the configuration and management controller 302 logs onto the management module 308 of the chassis 116, and retrieves information regarding all the computing devices installed within the chassis 116. Thereafter, a list of all the computing devices within the chassis 116 may be displayed to the user (406), from which the user is enabled to select a desired computing device (408).

FIG. 5B shows a GUI 525 by which a user is able to select the computing device 114 from all the computing devices installed within the selected chassis 116, according to an embodiment of the invention. A box 526 is presented in which all the computing devices installed within the selected chassis 116 are displayed, by row. For each computing device, various identifying characteristics of the computing device are presented. This information is obtained by the configuration and management controller 302 from the management module 308 of the chassis 116 itself Once the user has selected the desired computing device 114, he or she selects the next button 528.

Referring back to FIG. 4A, the user selects a switch 118 within the chassis 116 to which the computing device 114 is connected (410). This is indicated in FIG. 3 via the line 328. In particular, the configuration and management controller 302 receives from the management module 308 of the chassis 116 the identities of all the switches installed within the chassis 116. A list of all the switches to which specifically the computing device 114 is connected may be displayed to the user (412), and the user enabled to select a desired switch 118 from the list (414).

FIG. 5C shows a GUI 530 by which a user is able to select the switch 118 from all the switches to which the computing device 114 is connected, according to an embodiment of the invention. A box 532 lists all the switches, including which NIC 314 of the selected computing device 114, if any, is connected to switch 118. The box 532 may further indicate the media access control (MAC) address of the associated NIC 314. In the example of FIG. 5C, just the first two switches are actually present. The user selects one of the radio buttons 534 to choose a desired switch 118, and then selects the next button 536. It is noted that each switch is connected to a different SAN, and thus by selecting the switch 118, the user is implicitly selecting the SAN 306.

Referring back to FIG. 4A, the user then selects a desired SAN storage device 112 from all the SAN storage devices connected to the SAN to which the desired switch 118 is connected (418). This is indicated in FIG. 3 via the line 330. In particular, the configuration and management controller 302 may read a catalog of all the SAN storage devices connected to the switch 118 (418), from a previously assembled database. Thereafter, the controller 302 displays this list to the user (420), who is enabled to select a desired SAN storage device 112 from the list (422).

FIG. 5D shows a GUI 536 by which a user is able to select the SAN storage device 112 from all the SAN storage devices connected to the SAN to which the switch 118 is connected, according to an embodiment of the invention. A drop-down box 538 lists the network addresses of all the SAN storage devices connected to the SAN to which the switch 118 is connected. By selecting a given network address, information regarding the SAN storage device having this network address is displayed in the boxes 540 and 542. The desired, selected SAN storage device 112 is also referred to as a target (where the previously selected computing device 114 is referred to as an initiator).

The user can change the information regarding the selected storage device 112 by modifying the information within the box 540 and pressing the appropriate button of the buttons 548. The add and delete buttons allow a user to add or delete an entry for a storage device within a database that stores the list of all the storage devices. The user can validate any of the information regarding the selected storage device 112 by pressing the validate button 546. Once the user is satisfied with his or her selection, the next button 544 is selected.

Referring to FIG. 4B, the user is able to configure the network settings for the selected computing device 114 (424). In one embodiment, this is achieved by automatically populating, without any user intervention, the network settings as may have been previously entered (426), and then enable the user to override any of these network settings.

FIG. 5E shows a GUI 550 by which a user is able to configure the network settings of the computing device 114 in particular, according to an embodiment of the invention. The network settings of the computing device 114 are displayed in the boxes 552, and the user is able to override any of this information, prior to selecting the next button 554 to continue. In particular, the network settings of the computing device 114 that may be modified by the user includes the network address of the computing device 114, such as its Internet Protocol (IP) address. The subnet mask of the computing device 114, as well as the network address of its default gateway, may further be modified. The primary and secondary name servers, such as the primary and secondary domain name system (DNS) servers, may also be specified or otherwise modified by the user.

Referring back to FIG. 4B, in one embodiment the user is able to configure security settings for the SAN storage device 112, which is indicated in FIG. 3 via the line 330, and the computing device 114 (430). The user may be able to specify security that is initiated by the computing device 114, or security that is initiated by the SAN storage device 112. That is, authentication of the SAN storage device 112 may be initiated by the computing device 114, or authentication of the computing device 114 may be initiated by the SAN storage device 112. Alternatively still, the user may be able to specify security that is two-way, and initiated by both the computing device 114 and the SAN storage device 112.

FIG. 5F shows a GUI 556 by which a user is able to configure the security settings of the computing device 114 and the SAN storage device 112, according to an embodiment of the invention. The user in the area 558 is able to specify the enablement of challenge-handshake authentication protocol (CHAP) security initiated by the computing device 114 in relation to the SAN storage device 112. The user in the area 560 is able to specify the enablement of “reverse” CHAP security, initiated by the SAN storage device 112 in relation to the computing device 114, too. Once the user has selected the desired security settings, the next button 562 is selected.

Referring back to FIG. 4B, the SAN storage device 112 is then configured by the user for use by the computing device 114 (102). In one embodiment, the configuration and management controller 302 determines whether the SAN storage device 112 was previously configured for usage by the computing device 114 (432). If so, then information regarding this configuration is displayed, and the user is enabled to delete the information if desired (434). For instance, the relevant volume, or high-level partition, of the SAN storage device 112, the relevant logical unit (“LUN”) of the volume, and the group associating this LUN to the computing device 114 may be displayed to the user. At this stage, the user thus has the opportunity to approve the existing configuration of the SAN storage device 112 in relation to the computing device 114. If the user chooses not to approve the existing configuration, by deleting it, then the user will be able to configure the SAN storage device 112 anew in the next stage, during the selection and deployment of an operating system (OS) instance stage, as will be described.

FIG. 5G shows a GUI 564 by which a user is able to approve an existing configuration of the SAN storage device 112 for use by the computing device 114, according to an embodiment of the invention. The drop-down box 564 lists all the high-level partitions, or volumes, of the selected SAN storage device 112. Upon selecting a given volume, the user selects the check button 568, which determines whether this volume of the SAN storage device 112 was previously configured for usage by the computing device 114. If so, then the relevant information is listed in the boxes 566, including the volume name, the initiator name (i.e., the name of the computing device 114), the group binding the computing device 114 to a LUN of the volume, and the name of the LUN itself.

If the latter three boxes are empty, then no LUN of the selected volume of the SAN storage device 112 was previously configured for usage by the computing device 114. As such, the user may select a different volume via the drop-down box 564, and repeat the process by selecting the check button 568, or may decide to use this volume, where a LUN does not exist on the volume as having been previously used by the computing device 114, and simply press the next button 572 to continue. If the user approves the existing LUN, where it is present, of the selected volume, the user can also select the next button 572 to continue.

However, if the user wishes to use the selected volume, but not the existing LUN on the selected volume of the SAN storage device 112, then the user may choose to delete either the LUN itself, or the group that associates the LUN with the computing device 114, via one of the two checkboxes 570, before pressing the next button 572. Deleting the LUN implicitly deletes the association of the LUN with the computing device 114. Deleting just the group that associates the LUN with the computing device 114 does not delete the LUN, however, and just deletes the association between the LUN and the computing device 114.

Referring to FIG. 4C, the user can select an OS instance to deploy onto the SAN storage device 112 for usage by the computing device 114 (104). The user in particular can perform one of three options. First, the user is enabled to clone an existing LUN of the previously selected volume of the SAN storage device 112 to link to the computing device 114 (436), where the existing LUN stores the desired OS instance. In this case, in effect a new LUN is created on the volume, and which is a clone of the existing LUN selected. Cloning is different than copying, in that the LUN clone appears instantaneous to the user, for instance.

Second, the user is enabled to select an existing LUN of the previously selected volume of the SAN storage device 112 to link to the computing device 114 (438), where this existing LUN stores the desired OS instance. In this case, the existing LUN is used. Third, the user is enabled to create an entirely new LUN of the previously selected volume of the SAN storage device 112 to link to the computing device 114 (440). The user in this latter option is able to determine which OS instance to store on the new LUN for the computing device 114, such that ultimately it is said that the new logical unit does indeed store this OS instance. Part 104 of the method 100 of FIG. 4C is depicted in FIG. 3 by the line 330.

FIG. 5H shows a GUI 574 by which a user is able to select a LUN or create a LUN on the storage device 112 for usage as a boot logical disk by the computing device 114, according to an embodiment of the invention. The radio buttons 576 allow a user to clone an existing LUN, as per part 436 of the method 100, as well as link to an existing LUN, as per part 438 of the method 100, and create an entirely new LUN, as per part 440 of the method 100. It is noted that the user is further afforded the option of skipping selection of a LUN entirely. By selecting a LUN, the user thus selects a boot logical disk located on SAN storage device 112 for usage by the computing device 114.

Where a previously established association between a LUN and the computing device 114 exists, as has been described in FIG. 5G, then the link to an existing LUN radio button will be selected in FIG. 5H for the user. The user may decide to override this existing association by selecting one of the other radio buttons 576, however. Once the user has selected the desired LUN, and an OS instance to deploy (if applicable), for the computing device 114, he or she selects the next button 578.

Referring back to FIG. 4C, the non-volatile memory, or NVRAM 312, of the computing device 114 is configured based on the selections and configurations previously made by the user (442). This is depicted in FIG. 3 by the line 326. FIG. 5I shows a GUI 580 by which a user initiates the transfer of the settings that have been provided to configure the NVRAM 312 of the computing device 114, according to an embodiment of the invention. The information 582 lists the basic information regarding the computing device 114 in question. The user has the option of overriding the selected switch 118 by altering the value within box 584. Finally, the user selects the yes radio button of the pair of radio buttons 586 to indicate that the settings should be transferred to the NVRAM 312, and finally selects the next button 588.

In one embodiment, the configuration and management controller 302 constructs a settings file based on the SAN storage device 112 selected and configured, the network settings of the device 112 and/or the computing device 114 configured, and the OS instance as selected and deployed onto the SAN storage device 112 (444). This file may be formatted in a markup language, such as the eXtensible markup language (XML), and is inclusive of the parameter values that have to be programmed into the NVRAM 312 of the computing device 114. Thereafter, the controller 302 transmits the settings file to the configuration manager 304 (446).

The configuration manager 304 in turn converts the parameter values into a format understandable by the firmware 322 of the computing device 114, and sends these formatted values to the management module 308 of the chassis 116 for installation on the computing device 114 (448). The management module 308 provides the values to the BMC 310, which writes them to the NVRAM 312 for utilization by the firmware 316. The boot firmware 322 of the firmware 316 utilizes these settings within the NVRAM 312 to construct the BFT 320 within the RAM 318 during boot of the computing device 114.

Thereafter, the computing device 114 can be booted up, such that it utilizes the OS instance deployed on the SAN storage device 112 as its storage. FIG. 5J shows a GUI 590 by which a user can initiate turning on the computing device 114, among other functions, according to an embodiment of the invention. Box 592 lists the blade number, which is the identifier of the computing device 114 within the chassis. The user has the option of selecting one or more of four different options via the checkboxes 594. The user can cause the computing device 114 to be powered off, or to be powered on. The user can also assign a keyboard-video-mouse (KVM) adapter to the computing device 114, as can be appreciated by those of ordinary skill within the art. Finally, the user can assign a media tray to the computing device 114, which couples the devices of the media tray previously described to the computing device 114. The user then selects the next button 596 to execute the operation. This is indicated in FIG. 3 via the line 328.

Advantages and Conclusion

At least some embodiments of the invention provide for advantages over the prior art. In particular, selection and configuration of a computing device, such as a blade computing device, and a storage-area network (SAN) storage device is achieved in a programmatic manner. A user, such as an information technology (IT) personnel, is walked through the configuration process via a graphical user interface (GUI). Configuration of the computing device and the SAN storage device occurs during this process. As such, it is substantially ensured that the configuration of the computing device and the SAN storage device is achieved properly, without the user having to remember all the different settings and parameters that need to be properly set.

It is noted that, although specific embodiments have been illustrated and described herein, it will be appreciated by those of ordinary skill in the art that any arrangement calculated to achieve the same purpose may be substituted for the specific embodiments shown. This application is thus intended to cover any adaptations or variations of embodiments of the present invention. Therefore, it is manifestly intended that this invention be limited only by the claims and equivalents thereof. 

I claim:
 1. A method comprising: enabling a user to select a chassis from a list of one or more chassis using a graphical user interface (GUI), each chassis having one or more computing devices installed therein; after the user has selected the chassis, selecting a computing device from the computing devices installed in the chassis selected, each computing device connected to one or more switches within the chassis; after the computing device has been selected, selecting within the GUI a switch from the switches to which the computing device selected is connected, each switch connected to a storage-area network (SAN) encompassing one or more SAN storage devices, where just the switches to which the computing device selected is connected are displayed within the GUI, each switch connected to one SAN, the storage devices of each SAN connected to one switch; after the switch has been selected, selecting a SAN storage device from the SAN storage devices connected to the switch selected; after the SAN storage device has been selected, configuring network settings of one or more of the SAN storage devices selected for use by the computing device selected; after the networking settings have been selected, configuring the SAN storage device selected for use by the computing device selected; and, after the SAN storage device has been configured, selecting and deploying an operating system (OS) instance onto the SAN storage device selected for use by the computing device selected, wherein the method from enabling the user to select the chassis through and to selecting and deploying the OS instance onto the SAN storage device provides a programmatic manner by which each of the computing device and the SAN storage device is selected and configured for use with one another, such that the user is stepped through selection of the computing device and the SAN storage device via the GUI, and such that configuration of the computing device and the SAN storage device are automatically performed.
 2. The method of claim 1, wherein the list of chassis is create at least partially by programmatically discovering the chassis.
 3. The method of claim 1, further comprising configuring security settings for one or more of the SAN storage device selected and the computing device selected.
 4. The method of claim 3, wherein configuring the security settings for one or more of the SAN storage device selected and the computing device selected comprises enabling a user to select computing device-initiated security, SAN storage device-initiated security, or both computing device-initiated security and SAN storage-device initiated security.
 5. The method of claim 1, further comprising configuring non-volatile memory of the computing device selected based on the SAN storage device selected and configured, the network settings configured, and the OS instance selected and displayed onto the SAN storage device selected.
 6. The method of claim 5, wherein configuring the non-volatile memory of the computing device selected comprises: constructing a file based on the SAN storage device selected and configured, the network settings configured, and the OS instance selected and displayed onto the SAN storage device selected; transmitting the file to a configuration manager separate from the computing devices, the chassis, and the SAN storage devices; and, the configuring manager converting the file into a format understandable by firmware of the computing device selected, and configuring the non-volatile memory of the computing device selected accordingly.
 7. The method of claim 1, wherein the chassis, the computing device, the switch, and the SAN storage device are selected by the user via the GUI; the network settings and the SAN storage device are configured by the user via a GUI; and, the OS instance is selected by the user via a GUI.
 8. The method of claim 1, wherein selecting the chassis comprises logging onto the chassis.
 9. The method of claim 1, wherein selecting the computing device from the computing devices installed in the chassis selected comprises: displaying a list of all the computing devices installed in the chassis; and, enabling a user to select the computing device from the list, and wherein selecting the switch from the switches to which the computing device selected is connected comprises: displaying a list of all the switches to which the computing device is connected; and, enabling a user to select the switch from the list.
 10. The method of claim 1, wherein selecting the SAN storage device from the SAN storage devices connected to the switch selected comprising: reading a catalog of all the SAN storage devices connected to the switch selected; displaying a list of all the SAN storage devices connected to the switch selected; and, enabling a user to select the SAN storage device from the list.
 11. The method of claim 1, wherein configuring the network settings for one or more of the SAN storage device selected and the computing device selected comprises: automatically populating without user intervention a network address of the computing device, a subnet mask for the computing device, a default gateway network address for the computing device, a primary name server network address for the computing device, and a secondary name server network address for the computing device; and, enabling a user to override one or more of the network address, the subnet mask, the default gateway network address, the primary name server network address, and the secondary name server network address.
 12. The method of claim 1, wherein the computing device is a blade computing device physically situated within the chassis.
 13. A method comprising: configuring a storage-area network (SAN) storage device selected for use by a computing device, including configuring network settings of the SAN storage device, the SAN storage device communicatively connected to the computing device by a switch selected from one or more switches connected to the computing device by a user using a graphical user interface (GUI), the computing device selected from one or more computing devices installed in a chassis by the user using the GUI, the chassis selected from one or more chassis by the user using the GUI; and, after configuring the SAN storage device, selecting and deploying an operating system (OS) instance onto the SAN storage device selected for use by the computing device, wherein the computing device is selected after the user has selected the chassis, the switch is selected after the computing device has been selected, the SAN storage device is selected after the switch has been selected, and the SAN storage device is configured after the SAN storage device is selected, wherein the method provides a programmatic manner by which each of the computing device and the SAN storage device is selected and configured for use with one another, such that the user is stepped through selection of the computing device and the SAN storage device via the GUI and such that configuration of the computing device and the SAN storage device are automatically performed.
 14. The method of claim 13, wherein configuring the SAN storage device selected for use by the computing device selected comprises: determining whether the SAN storage device has been previously configured for use by the computing device; where the SAN storage device has been previously configured for use by the computing device, displaying a volume of the SAN storage device, a logical unit of the volume of the SAN storage device, and a group binding the logical unit to the computing device; enabling a user to delete one or more of the logical unit and the group.
 15. The method of claim 13, wherein selecting and deploying the OS instance onto the SAN storage device selected for use by the computing device selected comprises: enabling the user to clone an existing logical unit of the volume of the SAN storage device for linking to the computing device, the existing logical unit storing the OS instance; enabling the user to selecting an existing logical unit of the volume of the SAN storage device for linking to the computing device, the existing logical unit storing the OS instance; and, enabling the user to create a new logical unit of the volume of the SAN storage device for linking to the computing device, the new logical unit storing the OS instance.
 16. The method of claim 13, wherein the computing device is a blade computing device physically situated within the chassis.
 17. A system comprising: a chassis; one or more computing devices installed within the chassis; one or more switches installed within the chassis and connected to each computing device; one or more storage-area network (SAN) storage devices connected to each switch; and, a configuration and management controller to enable a user to select via a graphical user interface (GUI) a desired computing device from the computing devices installed within the chassis, to select via the GUI a desired switch from the switches installed within the chassis, to select via the GUI a desired SAN storage device from the SAN storage devices connected to the desired switch, to configure the desired SAN storage device for use by the desired computing device, including network settings of the desired SAN storage device, and to select via the GUI and deploy an operating system (OS) instance onto the desired SAN storage device for use by the desired computing device, wherein the desired computing device is selected after the desired chassis has been selected, the desired switch is selected after the desired computing device has been selected, the desired SAN storage device is selected after the desired switch has been selected, the desired SAN storage device is configured after the desired SAN storage device has been selected, and the OS instance is selected after the desired SAN storage device is configured, wherein the configuration and management controller provides a programmatic manner b which each of the computing device and the SAN storage device is selected and configured for use with one another, such that the user is stepped through selection of the computing device and the SAN storage device via the GUI, and such that configuration of the computing device and the SAN storage device are automatically performed.
 18. The system of claim 17, where the controller is to enable the user to select and deploy the OS instance onto the desired SAN storage device for use by the desired computing device by one or more of: enabling the user to clone an existing logical unit of the volume of the desired SAN storage device for linking to the desired computing device, the existing logical unit storing the OS instance; enabling the user to selecting an existing logical unit of the volume of the desired SAN storage device for linking to the desired computing device, the existing logical unit storing the OS instance; and, enabling the user to create a new logical unit of the volume of the desired SAN storage device for linking to the desired computing device, the new logical unit storing the OS instance.
 19. An article of manufacture comprising: a non-transitory tangible computer-readable medium; and, computer-readable code stored in the non-transitory tangible computer-readable medium that is executable by a processor for selecting by a user using a graphical user interface (GUI) a desired blade computing device installed within a chassis, for selecting by the user using the GUI a desired switch installed within the chassis, for selecting by the user using the GUI a desired storage-area network (SAN) storage device connected to the desired switch, for configuring the desired SAN storage device for use by the desired blade computing device, including network settings of the desired SAN storage device, and for selecting by the user using the GUI and deploying an operating system (OS) instance onto the desired SAN storage device for use by the desired blade computing device, wherein the desired computing device is selected after the desired chassis has been selected, the desired switch is selected after the desired computing device has been selected, the desired SAN storage device is selected after the desired switch has been selected, the desired SAN storage device is configured after the desired SAN storage device has been selected, and the OS instance is selected after the desired SAN storage device is configured, wherein the computer-readable code provides a programmatic manner by which each of the computing device and the SAN storage device is selected and configured for use with one another, such that the user is stepped through selection of the computing device and the SAN storage device via the GUI, and such that configuration of the computing device and the SAN storage device are automatically performed.
 20. The article of manufacture of claim 19, wherein the computer-readable code is executable by the processor for selecting and deploying the OS instance onto the desired SAN storage device for use by the desired blade computing device by one or more of: enabling the user to clone an existing logical unit of the volume of the desired SAN storage device for linking to the desired blade computing device, the existing logical unit storing the OS instance; enabling the user to selecting an existing logical unit of the volume of the desired SAN storage device for linking to the desired blade computing device, the existing logical unit storing the OS instance; and, enabling the user to create a new logical unit of the volume of the desired SAN storage device for linking to the desired blade computing device, the new logical unit storing the OS instance. 